package com.smartcampusbackend.service;

import com.smartcampusbackend.model.ClassCircle;
import com.smartcampusbackend.model.ClassCircleMember;
import java.util.List;

public interface ClassCircleService {
    
    // 创建班级圈（仅教师）
    ClassCircle createClassCircle(ClassCircle classCircle, Integer creatorId);
    
    // 删除班级圈（仅创建者）
    boolean deleteClassCircle(Integer classCircleId, Integer userId);
    
    // 搜索班级圈
    ClassCircle searchByClassId(String classId);
    
    // 加入班级圈
    boolean joinClassCircle(Integer classCircleId, Integer userId);
    
    // 退出班级圈
    boolean leaveClassCircle(Integer classCircleId, Integer userId);
    
    // 获取用户创建的班级圈
    List<ClassCircle> getUserCreatedCircles(Integer userId);
    
    // 获取用户加入的班级圈
    List<ClassCircle> getUserJoinedCircles(Integer userId);
    
    // 获取班级圈成员
    List<ClassCircleMember> getClassCircleMembers(Integer classCircleId);
    
    // 检查用户是否已加入班级圈
    boolean isUserJoined(Integer classCircleId, Integer userId);
    
    // 删除班级圈成员（管理员或创建者可操作）
    boolean removeClassCircleMember(Integer classCircleId, Integer memberId, Integer operatorUserId, boolean isAdmin);

    List<ClassCircle> getAllClassCircles();
} 